# -*- coding: utf-8 -*-  业务部字典配置


def department():  # 业务部设置
    dep = '总账'
    return dep


def loginname():  # FSO登录账号设置
    name = 'zha???'
    return name


def password():  # FSO登录密码设置
    password = 'ZHm?????'
    return password


def gv_dict1():  # 派工四级目录对应字典

    # GL_2_1_1 财务月结/年结流程  21
    GL_2_1_1 = ['关闭账期', '月账期', '月份账期', '关账', '月结', '年结']
    # GL_5_1_1 投资业务核算流程   25   #注意,在这里的数字表示列表顺序,按下键的次数需要-1
    GL_5_1_1 = ['开仓', '平仓', '国泰君安', '期货', '套期保值', '内部投资', '红利', '分红']
    # GL_5_1_2 投资业务核算流程-交易性金融资产   26
    GL_5_1_2 = ['股票']
    # GL_5_1_5投资业务核算流程-长期股权投资   29
    GL_5_1_5 = ['权益法', '投资收益', '长投', '长期股权投资', '股利']
    # GL_5_3_1 总账核算流程－一般总账核算   32
    GL_5_3_1 = ['古雷', '其他收益', '纳税奖励', '代扣代缴手续费返还', '上&利润','分配&利润']
    # GL_5_3_2总账核算流程-一般总账核算-权益核算   33
    GL_5_3_2 = []
    # GL_5_3_3总账核算流程-一般总账核算-营业外收支核算   34
    GL_5_3_3 = ['协解', '违约', '罚款', '法院', '诉讼', '理赔', '违纪', '补偿款', '即时考核',
                '滞纳金', '废旧', '营业外', '废品', '处置', '个人考核款', '单位考核款', '法院扣款', '索赔']
    # GL_5_3_4总账核算流程-一般总账核算-专项供应商核算  35
    GL_5_3_4 = ['党&费', '团&费', '专项供应商', '排污费', '水利基金', '水利建设基金']
    # GL_5_3_5总账核算流程-一般总账核算-其他  36
    GL_5_3_5 = ['冲销', '清账', '递延收益', '手续费返还', '车卡款', '重大专项', '保证金']
    # GL_5_3_6 总账核算流程-一般总账核算-递延收益 37   #由于部分企业无法派工该四级目录,故放在三级目录
    GL_5_3_6 = []
    # GL_5_5_1总账核算流程-专项核算  39  #由于派到四级目录'安全生产费计提',部分AIC企业无法派工,所以改为放在三级目录
    GL_5_5_1 = ['安全生产费', '安全生产专项']
    # GL_5_6_2 总账核算流程-税费核算-增值税核算   43
    GL_5_6_2 = ['增值税', '进项税', '销项税', '出口退税', '退税', '免抵税']
    # GL_5_6_3 总账核算流程-税费核算-消费税核算   44
    GL_5_6_3 = ['消费税']
    # GL_5_6_5 总账核算流程-税费核算-城市建设维护税、教育费附加等附加税核算  46
    GL_5_6_5 = ['城建', '城市维护建设', '附加税', '教育费', ]
    # GL_5_6_6 总账核算流程-税费核算-企业所得税核算   47
    GL_5_6_6 = ['企业&所得税', '月&所得税', '年&所得税', '季&所得税',
                '递延所得税', '计提&所得税', '缴纳&所得税', '交&所得税', '汇算清缴']
    # GL_5_6_7 总账核算流程-税费核算-递延税款的核算    48
    GL_5_6_7 = []
    # GL_5_6_8 总账核算流程-税费核算-四小税核算：车船使用税、房产税、印花税、土地使用税 49
    GL_5_6_8 = ['车船使用税', '车船税', '房产税', '印花', '土地使用税', '土地税', '四小税']
    # GL_5_6_9 总账核算流程-税费核算-其他  50
    GL_5_6_9 = ['个税', '个所税', '个人所得税', '保障金', '环保税', '环境保护税',
                '水利基金', '资源税', '税款', '税费', '税金', '留抵税', '各项税']
    # GL_5_7_2 总账核算流程-薪酬核算-薪酬计提发放核算   53
    GL_5_7_2 = ['工资', '薪酬', '奖金', '专项奖', '兑现奖', '考核奖', '年终奖', '安全奖', '单项奖', '高温费',
                '先进奖', '先进个人', '薪金', '绩效', '月奖', '翻译奖', '竞赛奖', '97HQ0039', '人工成本']
    # GL_5_7_3 总账核算流程-薪酬核算-人工劳务费核算   54
    GL_5_7_3 = ['劳务', '外包', '派遣', '代垫人工']
    # GL_5_7_4 总账核算流程-薪酬核算-保险核算     55
    GL_5_7_4 = ['社保', '失保', '生育', '养老', '工伤', '个人款', '补充医疗',
                '补医费', '公积金', '年金', '医疗', '保险', '五险', '两金', '医保', '生育津贴']
    # GL_5_7_5 总账核算流程-薪酬核算-福利费核算   56
    GL_5_7_5 = ['福利', '慰问', '丧扶','抚恤', '职工&租', '过节费', '节日费', '体检', '丧葬', '生活费', '餐饮', '安家费', '残保金', '伙食费', '救济金', '救济费', '餐费', '食品费', '加班', '工作餐', '劳保',
                '劳动保护', '蔬菜', '农副','女工&用品', '宿舍','浴资','防暑', '津贴','卫生用品', '活动费', '餐券','餐补', '食堂', '伙食', '遗嘱', '生活费', '补助', '补贴', '子女', '帮扶救助', '药', '内退', '离退休', '离休', '退休', '卫生费', '疗养费']
    # GL_5_7_6 总账核算流程-薪酬核算-工资附加费核算  57
    GL_5_7_6 = ['工会', '培训', '授课', '教育', '工资附加']
    # GL_5_7_7 总账核算流程-薪酬核算-其他    58
    GL_5_7_7 = ['HR','代扣代缴']
    a = {}
    a.update(a.fromkeys(GL_2_1_1, 21))
    a.update(a.fromkeys(GL_5_1_1, 25))
    a.update(a.fromkeys(GL_5_1_2, 26))
    a.update(a.fromkeys(GL_5_1_5, 29))
    a.update(a.fromkeys(GL_5_3_1, 32))
    a.update(a.fromkeys(GL_5_3_2, 33))
    a.update(a.fromkeys(GL_5_3_3, 34))
    a.update(a.fromkeys(GL_5_3_4, 35))
    a.update(a.fromkeys(GL_5_3_5, 36))
    a.update(a.fromkeys(GL_5_3_6, 37))
    a.update(a.fromkeys(GL_5_5_1, 39))
    a.update(a.fromkeys(GL_5_6_2, 43))
    a.update(a.fromkeys(GL_5_6_3, 44))
    a.update(a.fromkeys(GL_5_6_5, 46))
    a.update(a.fromkeys(GL_5_6_6, 47))
    a.update(a.fromkeys(GL_5_6_7, 48))
    a.update(a.fromkeys(GL_5_6_8, 49))
    a.update(a.fromkeys(GL_5_6_9, 50))
    a.update(a.fromkeys(GL_5_7_2, 53))
    a.update(a.fromkeys(GL_5_7_3, 54))
    a.update(a.fromkeys(GL_5_7_4, 55))
    a.update(a.fromkeys(GL_5_7_5, 56))
    a.update(a.fromkeys(GL_5_7_6, 57))
    a.update(a.fromkeys(GL_5_7_7, 58))
    return a


def gv_dict_fourdire1():  # 派工编号和派工岗位映射表
    b = {21: 'GL_2_1_1 财务月结/年结流程',
         25: 'GL_5_1_1 投资业务核算流程',
         26: 'GL_5_1_2 投资业务核算流程-交易性金融资产',
         29: 'GL_5_1_5 投资业务核算流程-长期股权投资',
         32: 'GL_5_3_1 总账核算流程－一般总账核算',
         33: 'GL_5_3_2 总账核算流程-一般总账核算-权益核算',
         34: 'GL_5_3_3 总账核算流程-一般总账核算-营业外收支核算',
         35: 'GL_5_3_4 总账核算流程-一般总账核算-专项供应商核算',
         36: 'GL_5_3_5 总账核算流程-一般总账核算-其他',
         37: 'GL_5_3_6 总账核算流程-一般总账核算-递延收益',
         39: 'GL_5_5_1 总账核算流程-专项核算',
         43: 'GL_5_6_2 总账核算流程-税费核算-增值税核算',
         44: 'GL_5_6_3 总账核算流程-税费核算-消费税核算',
         46: 'GL_5_6_5 总账核算流程-税费核算-城市建设维护税、教育费附加等附加税核算',
         47: 'GL_5_6_6 总账核算流程-税费核算-企业所得税核算',
         48: 'GL_5_6_7 总账核算流程-税费核算-递延税款的核算',
         49: 'GL_5_6_8 总账核算流程-税费核算-四小税核算：车船使用税、房产税、印花税、土地使用税',
         50: 'GL_5_6_9 总账核算流程-税费核算-其他',
         53: 'GL_5_7_2 总账核算流程-薪酬核算-薪酬计提发放核算',
         54: 'GL_5_7_3 总账核算流程-薪酬核算-人工劳务费核算',
         55: 'GL_5_7_4 总账核算流程-薪酬核算-保险核算',
         56: 'GL_5_7_5 总账核算流程-薪酬核算-福利费核算',
         57: 'GL_5_7_6 总账核算流程-薪酬核算-工资附加费核算',
         58: 'GL_5_7_7 总账核算流程-薪酬核算-其他 '}
    print('********总账档案岗派工规则加载完毕********')
    return b


if __name__ == "__main__":
    gv_dict = gv_dict1()
    gv_dict_fourdire = gv_dict_fourdire1()

    data = open("字典.txt", 'w+')  # 写出字典
    print(gv_dict, file=data)
    data.close()

    data = open("字典四级.txt", 'w+')  # 写出字典
    print(gv_dict_fourdire, file=data)
    data.close()

    gv_FQ_headertxt = "序时计提职工福利"
    gv_FQ_remarks = "备注,巴啦啦啦~收罚款"
    # 用于判断字符串b中是否含有字典中的关键词,并取出对应键值,没有则返回0
    for key in gv_dict.keys():
        if key in gv_FQ_headertxt:
            gv_down = gv_dict.get(key)
            break  # 用于跳出循环体,避免c=0
        else:
            gv_down = 0
    if gv_down == 0:  # 为了防止第二个字符串干扰项,故将字符串一和二分开判断
        for key in gv_dict.keys():
            if key in gv_FQ_remarks:
                gv_down = gv_dict.get(key)
                break
    for key in gv_dict_fourdire:
        if key == gv_down:
            gv_FQ_fourdire = gv_dict_fourdire.get(key)
            break
        else:
            gv_FQ_fourdire = ''

    print(gv_down)
    print(gv_FQ_fourdire)

    input('\n输入ENTER键退出...')
